function say(...arg) {
  console.log(arg, 'arg');
  console.log(this.x);
}
var a = say.bind({ x: 1 }, 1, 2, 3)
var b = a.bind({ x: '2' }, 111, 222, 333)
var c = b.bind({ x: 3 }, 1111111)
a('a', 'b')
console.log('========');
b('q', 'w')
console.log('====');
c('p', 'l')